#include <stdio.h>	
#include <math.h>

	double a, b, error;

	double u, v, e, c, w;

	int k = 0;

	int main(void){
	
		printf("Ingrese los extremos del intervalo y la tolerancia. \n");

		scanf("%lf %lf %lf", &a, &b, &error);

			u = a*a-3;
	
			v = b*b-3;
	
			e = b-a;
	
			w = u;	
	
			if (u * v > 0) {
				
				printf("Ingrese un intervalo valido, \n");
				
				scanf("%lf %lf %lf", &a, &b, &error);

				u = a*a-3;
	
				v = b*b-3;
	
				e = b-a;
	
				w = u;	
				
			}
	
			while (fabs(w) >= error) {  
				
				e = e / 2;
				c = a + e;
				w = c*c-3;
				k = k + 1;
				printf("La %i-esima aproximacion es %.20lf \n",k,c);
				
				if ((u < 0 && w > 0) || (u > 0 && w < 0)){
					b = c;
					v = w;
					}	
			
				else {
					a = c;
					u = w;
					}	
		
				}	
		
		printf("La aproximacion final a la raiz es %.20lf \n",c);
	
		printf("El valor final de f(x_N) es %.20lf \n",w);

	return 0;
	}
